# Tutorial de Angular

En este tutorial aprendremos:
- Que es Angular?
- Preparar el entorno para desarrollar en angular.

## Que es angular?

Angular es una plataforma de desarrollo que hace fácil construír aplicaciones para la web. Proporciona a los desarrolladores las herramientas para construír aplicaciones que viven en la web, en los móbiles o en el escritorio. Combina plantillas declarativas, inyección de dependencias. Provee de un conjunto de herramientas y mejores prácticas integradas para afrontar retos de desarrollo de software.

Utiliza [Typescript](https://www.typescriptlang.org/) como lenguaje principal aunque los componentes visuales se describen con [Componentes Web](https://github.com/WebComponents/webcomponentsjs/).


## Preparar el entorno para desarrollar en angular.

Para desarrollar aplicaciones en Angular necesitamos tener instalado [Node](https://nodejs.org/es/) y [NPM](https://www.npmjs.com/), los cuales son las herramientas principales para el desarrollo de aplicaciones web modernas.

Nota: Para mas información sobre como instalar y configurar Node visita el [Tutorial de Node](https://notabug.org/RatRiot/doc/src/master/NODE.md)

Una vez que ya tenemos instalado Node, instalamos la herramienta para la linea de comandos de Angular que en `npm` se llama `@angular/cli`, para esto ejecutamos el comando:

```bash
usr@system{~}$ npm install -g @angular/cli
```

Si el comando retorna un error como:

```bash

npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR!  { [Error: EACCES: permission denied, access '/usr/lib/node_modules']
npm ERR!   stack:
npm ERR!    "Error: EACCES: permission denied, access '/usr/lib/node_modules'",
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).

```

Necesitas permisos de super ususario para instalar comandos globalmente. En sistemas tipo unix como linux se utiliza el comando `sudo`, por ejemplo:

```bash
usr@system{~}$ sudo npm install -g @angular/cli
```

lo cual requerirá de una contraseña. Si en el sistema donde te encuentras no tienes permisos para ejecutar comandos de este tipo o te interesa una forma mas segura de utilizár node. Es recomendable que instales un entorno [NVM - Node Version Manager](https://github.com/creationix/nvm/blob/master/README.md). En este caso no necesitarás permisos para instalar las herramientas.
